Field
Embodiments presented herein generally relate to optimizing a tiered storage system. More specifically, embodiments presented herein provide a tiered storage system optimized to perform write operations.
Description of the Related Art
A distributed computing system includes multiple computer systems which interact with one another to achieve a common goal. Computer systems in the distributed computing system share different resources, such as data, storage, processing power, and the like.
One storage configuration for a distributed computing system includes hard disk drives (HDDs) that store data supported by a cache stored in a solid state drive (SSD). When the system performs write I/O operations file, the system can write the data either in-place or out-of-place. Generally, in-place write operations are more efficiently performed in SSDs than HDDs due to lower seek time needed to access data. However, SSDs typically have a lower capacity than HDDs. Therefore, the SSDs are often used to provide a cache for the HDDs, which ultimately store the data.
Sequential writes are more efficient than writes performed to random locations. To address this, the system frequently improves performance by performing writes “out-of-place.” To do so, a write operation is first performed to a new location on disk instead of overwriting data in a currently existing location. The new location may then be referenced. As a result, the old location contains unreferenced data. The system must then perform garbage collection at the old location so that other data may be written to that location.